Methods are known in the prior art for detecting a moving object in a stream of images, based on a variation in time of the luminosity of the image pixels. For example, for a current image, it is determined whether a pixel belongs to a moving object when the value of this pixel has varied significantly from the immediately preceding image in the stream. A binary image is thus obtained from the current image, in which the pixels are usually at the value “1” when they belong to a moving object and at the value “0” if not.
This type of detection therefore does not take account of variations in the value of the neighboring pixels. A relatively high noise appears in the binary image due to interference events in the scene observed, such as a rustle of foliage or a rapid and high local variation in contrast.
To correct this drawback, algorithms have been proposed for detecting local translations of movements within the image stream. These algorithms make use of techniques called “optical flow” techniques. According to these techniques, a vector of moving objects is computed through an iterative search of the most probable movement of the predefined luminosity values in their respective neighborhoods from one image to the next. Mention can be made for example of the article “A block matching approach for movement estimation in a CMOS retina: principle and result” de D. Navarro et al., Proceedings of ESSCIRC, 2003, pages 615-619.
However, this type of algorithm is highly iterative and therefore demands considerable computation resources and/or time. It is therefore difficult to consider implementing them by a computation unit with limited resources, as is the case for example for a system mounted on a self-propelled vehicle.